// // // carved from NG's hello.reflect.45.c // // l #include #include #define output(directions,pin) (directions |= pin) // set port direction for output #define set(port,pin) (port |= pin) // set port pin #define clear(port,pin) (port &= (~pin)) // clear port pin //#define pin_test(pins,pin) (pins & pin) // test for port pin //#define bit_test(byte,bit) (byte & (1 << bit)) // test for bit set //#define bit_delay_time 100 // bit delay for 9600 with overhead //#define bit_delay() _delay_us(bit_delay_time) // RS232 bit delay //#define half_bit_delay() _delay_us(bit_delay_time/2) // RS232 half bit delay //#define char_delay() _delay_ms(10) // char delay //#define serial_port PORTB //#define serial_direction DDRB //#define serial_pin_out (1 << PB2) #define led_port PORTB #define led_direction DDRB #define led_pin (1 << PB3) #define nloop 100 // number of loops to accumulate int main(void) { // // main // // // set clock divider to /1 // CLKPR = (1 << CLKPCE); CLKPR = (0 << CLKPS3) | (0 << CLKPS2) | (0 << CLKPS1) | (0 << CLKPS0); // // initialize output pins // set(led_port, led_pin); output(led_direction, led_pin); while (1) { // // LED off // set(led_port, led_pin); _delay_us(20); // LED on // clear(led_port, led_pin); _delay_us(20); // } }